<template>
  <div>
    <h5>这个是todolist中的列表子组件</h5>
    正在进行：{{ num1 }}
    <ul>
      <li
        v-for="(item, index) in list"
        :key="index"
        v-show="item.status == false"
      >
        <!-- v-for可以和v-show搭配使用 代表 在循环所有数据的时候 让满足条件的显示 不满足的隐藏 -->
        <!-- 不能换成v-if 因为和v-for排斥 -->
        <input type="checkbox" v-model="item.status" />
        <input
          type="text"
          v-model="item.title"
          v-if="flag == index"
          @blur="flag = -1"
        />
        <span @dblclick="flag = index" v-else> {{ item.title }}</span>
        <button @click="remove(index)">删除</button>
      </li>
    </ul>
    <hr />
    已经完成：{{ num2 }}
    <ul>
      <li
        v-for="(item, index) in list"
        :key="index"
        v-show="item.status == true"
      >
        <input type="checkbox" v-model="item.status" />
        <input
          type="text"
          v-model="item.title"
          v-if="flag == index"
          @blur="flag = -1"
        />
        <span @dblclick="flag = index" v-else> {{ item.title }}</span>
        <button @click="remove(index)">删除</button>
      </li>
    </ul>
  </div>
</template>
<script>
export default {
  props: ["list", "num1", "num2"],

  data() {
    return {
      flag: -1,
      //flag只在子组件里用所以就定义在子组件
    };
  },
  methods: {
    remove(index) {
      this.$emit("remove", index);
    },
    //点击删除的时候调用父组件传来的自定义事件remove，并把要删的下标传给这个自定义事件
  },
};
</script>
